package chapter05

/**
 *
 * @author cdhuangchao3
 * @date 2023/6/4 7:32 PM
 */
object Test04_Simplify {
  def main(args: Array[String]): Unit = {
    def f0(name: String): String = {
      return name
    }

    def f1(name: String): String = {
      name
    }
    // 如果函数只有一行代码，可以省略花括号
    def f2(name: String): String = name
    // 返回值类型，如果能够推断出来，可以省略： : 返回值类型
    def f3(name: String) = name

    def f5(name: String): Unit = name

    def f6(name: String) {
      println("f6")
    }
    // 如果函数无参，但是声明了参数列表，那么调用时，小括号 可以不加
    def f7() {
      println("f7")
    }

    def f8 {
      println("f8")
    }
    // 如果不关心名称，只关心函数逻辑，那么函数名（def）可以省略
    // 匿名函数： lambda
    val f9 = (name:String) => {name}

    println("f1:" + f1("zs"))
    println("f2:" + f2("zs"))
    println("f3:" + f3("zs"))
    //    println("f4:"+f4("zs"))
    println("f5:" + f5("zs"))
    println("f6:" + f6("zs"))
    println("f7:" + f7)
    println("f8:" + f8)
    println("f9:" + f9("zs"))
  }
}
